Voice over Internet protocol (VoIP) systems manage the delivery of voice information over the Internet. VoIP involves sending voice information in digital form in discrete packets rather than using the traditional circuit-committed protocols of the public switched telephone network (PSTN). VoIP is also referred to as IP Telephony, Internet telephony, Broadband telephony, Broadband Phone, and Voice over Broadband. A major advantage of using VoIP is that VoIP avoids the tolls charged by ordinary telephone service providers. As such, VoIP systems are becoming ever more common within enterprises.
A VoIP call may involve a signaling session and a media session. The signaling may be accomplished using various protocols such as Session Initiation Protocol (SIP), H.323 Protocol, or any other suitable signaling protocols. SIP is an application-layer control (signaling) protocol that is used for creating, modifying, and terminating media sessions with one or more participants. These media sessions may include Internet telephone calls, multimedia distribution, and multimedia conferences.
Typically, a call agent handles VoIP call routing for VoIP clients. The call agent typically makes a VoIP call using a destination telephone number. This number may be associated with a client on the same call agent, in which case the call is sent directly to that client. Alternatively or in addition, the number may be associated with a client that is associated with a different agent within the same enterprise. In that case, the call agent may send the call to that agent, using configured rules that define how to route the call. When users within the enterprise communicate with users outside of the enterprise, the call may be terminated on a PSTN gateway and routed off to the PSTN. This, however, eliminates many of the benefits of VoIP.
Across enterprises or groups of enterprises, two call agents may connect to each other directly over IP, without requiring the PSTN. One or both of the two call agents may be configured with an address of the other call agent in order to initiate a signaling session between the call agents. However, obtaining the address of the call agents may be burdensome.